Robotic arms are used in a wide variety of manufacturing processes. For example, injection molding processes commonly use robotic arms to move molded parts between two spaced locations (e.g., from a mold to a holding area).
Those skilled in the art know that the efficiency of robot-based manufacturing processes is closely related to the actual velocities at which the robotic arms move. Specifically, the faster the arms move, the more parts that typically can be produced. Undesirably, however, many manufacturing processes have robotic arms that move at velocities that are much slower than their potential maximum velocities. Consequently, the total number of parts produced per hour is lower than it would be if the robotic arms ran closer to their potential maximum velocities. This lag can have a profound impact on the overall cost effectiveness of a manufacturing process.
Molding machine operators generally attempt to avoid this problem by estimating the maximum arm velocity before the manufacturing process begins. To that end, the operator determines an initial estimated maximum arm velocity based upon (among other things) the maximum motor torque and velocity, the mass of the part to be carried and its associated tooling, and the path of the arm. The operator then runs the machine at that initial estimated maximum velocity to determine if such velocity should be modified. The operator then repeats this process until a final estimated maximum velocity is determined.
There are a number of problems with this inefficient and time consuming approach. In particular, as noted above, the final maximum velocity often is significantly less than the actual maximum velocity at which the robotic arm can run. Consequently, part output volume is reduced. Moreover, there are times when a robotic arm separately carries two different types of parts during a single process. For example, the robotic arm may carry a first part type for a first length of travel, place that first part type down, and then carry a new (different) part type for a second length of travel. When this happens, the maximum velocity determined by the operator may be inapplicable to the new part type. The robotic arm thus moves at a velocity that is not optimized for the new part type. In other words, the robotic arm may move at a velocity that is significantly slower than the potential maximum velocity (for the second type of part). Further compounding these problems, many robotic arms simply shut down when their actual velocity is sufficiently slower than the maximum velocity entered by the operator.